﻿@* Quitar esta sección si se utilizan agrupaciones *@
@section Scripts {
    <script src="~/Scripts/jquery.validate.min.js"></script>
    <script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
}

@{
    Layout = "~/_SiteLayout.cshtml";
    Page.Title = "Registrars tipo documento";

    if (!WebSecurity.IsAuthenticated)
    {
        Response.Redirect("../Account/login.cshtml");        
    }

    // Inicializar variables de página generales
    var Txt_documento = "";

    // Validación de la instalación
    Validation.RequireField("Txt_documento", "Debe especificar un nombre para el tipo documento");
    Validation.Add("Txt_documento",
        Validator.StringLength(
            maxLength: 50,
            minLength: 6,
            errorMessage: "El tipo documento debe tener al menos seis caracteres"));

    // Si esta es una solicitud  POST , valide y procese los datos
    if (IsPost) {
        AntiForgery.Validate();
        Txt_documento = Request.Form["Txt_documento"];

        if (Validation.IsValid())
        {            
            TipoDocumento Obj_tdoc = new TipoDocumento();
            Obj_tdoc.Objtdoc.nombre = Txt_documento;

            var mylista = Obj_tdoc.consultar(1);

            if (mylista == null || mylista.Count == 0)
            {
                Obj_tdoc.crear();            
                    @: El tipo documento ha sido creado!!
            }
            else {
                ModelState.AddFormError("El tipo documento diligenciado ya existe en el sistema.");
            }
        }
        else 
        {
            
        }
}
}

@if (!User.IsInRole("Admin"))
{
    ModelState.AddError("errorGeneral", "El usuario: " + User.Identity.Name + " NO tiene permisos sobre este formulario.");
    @Html.ValidationMessage("errorGeneral")
}
else
{  
    
        <form method="post">
            @AntiForgery.GetHtml()
            @* Si existe al menos un error de validación, informar al usuario *@
            @Html.ValidationSummary("No se creó el tipo documento. Corrija los errores e inténtelo de nuevo.", excludeFieldErrors: true, htmlAttributes: null)

            <fieldset>
                <legend>Formulario de registro tiposd de documento</legend>
                <ol>
                    <li class="email">
                        <label for="Txt_documento" @if(!ModelState.IsValidField("Txt_documento")){<text> class="error-label" </text>    }>Tipo de documento</label>
                        <input type="text" id="Txt_documento" name="Txt_documento" value="" @Validation.For("Txt_documento") />
                        @* Escribir los errores de validación del correo electrónico en la página *@
                        @Html.ValidationMessage("Txt_documento")
                    </li>
                </ol>
                <input type="submit" value="Guardar" />
            </fieldset>
        </form>
}
